VM overview
As the interface for S7 communication, VM (Variable Memory) is used as a local communication buffer for data exchange by means of connection/data-transfer configuration.
The network topology can only be constructed through LOGO!Soft Comfort by Tools -> Ethernet Connections.
The data exchange process is described as follows:
The Server stores the required data into the VM area specified by S7 connection and data transfer. This is defined as a "share" action in the following section.
The Client unit reads the Server's VM area and then updates the corresponding local VM area in its network process step.
After the local update, the circuit program in the Client can use the information in the local VM originated from the Server.
Data type and VM address
The following illustrates VM addressing and data type usage.

Create a parameter VM mapping
You can update inputs, outputs and markers to the local VM automatically. Also, you can change a parameter value in the local VM, and then the value in LOGO!Soft Comfort is changed accordingly. In this way, the information in LOGO!Soft Comfort and the information in the local VM are synchronized with each other in real time. Through the parameter VM mapping function, you can create a mapping between a block and a VM. The parameter values of a block are synchronized to the specified VM each cycle. After the synchronization, the VM can be used to communicate with other SIMATIC devices. You can have up to 64 parameters mapped in the VM for each LOGO! 0BA7 Base Module. A configuration dialog of parameter VM mapping is shown as follows:

The SFBs that have parameters in the current program are listed in the Block column. The Parameter column provides a select list of the parameters of the corresponding block. The Type column displays the data type of the selected parameter. The Address column is also configurable. It`s used to identify the VM address used to save a parameter value.
The flag behind a parameter name indicates the property of this parameter:
| The parameter value is a setting value and is writable. |
| The parameter value is an actual value and is read-only. |
| Although the parameter value is an actual value, the value still can be changed. NOTE: Only the Counter parameter of Up/Down counter has such a flag. |
| The parameter value is referenced from an actual value of another already-programmed function block. |
Note that if no flag appears, then the parameter value is a system value and cannot be changed. | |
Within the parameter VM mapping window, you can:
select multiple record lines by pressing the Ctrl key or Shift key and clicking the ID of the desired line.
insert a down line by pressing Enter key on the last cell of the desired line
insert a up line by clicking the ID of the desired line and pressing the Insert key, or right-clicking the desired line and selecting Insert Row from the context menu.
delete a line by clicking the ID of the desired line and pressing the Delete key, or right-clicking the desired line and selecting Delete from the context menu.
You cannot change the parameter type and must configure a unique address for each parameter. Range for a parameter address is from 0 to 850. If the value you input exceeds this range, inputs and outputs will be addressed to the specific VM addresses. The following table provides mappings between I/Os and VM addresses.
DI | VM Address | DQ | VM Address |
I1 | V923.0 | Q1 | V942.0 |
I2 | V923.1 | Q2 | V942.1 |
I3 | V923.2 | Q3 | V942.2 |
I4 | V923.3 | Q4 | V942.3 |
I5 | V923.4 | Q5 | V942.4 |
I6 | V923.5 | Q6 | V942.5 |
I7 | V923.6 | Q7 | V942.6 |
I8 | V923.7 | Q8 | V942.7 |
I9 | V924.0 | Q9 | V943.0 |
I10 | V924.1 | Q10 | V943.1 |
I11 | V924.2 | Q11 | V943.2 |
I12 | V924.3 | Q12 | V943.3 |
I13 | V924.4 | Q13 | V943.4 |
I14 | V924.5 | Q14 | V943.5 |
I15 | V924.6 | Q15 | V943.6 |
I16 | V924.7 | Q16 | V943.7 |
I17 | V925.0 | ||
I18 | V925.1 | ||
I19 | V925.2 | ||
I20 | V925.3 | ||
I21 | V925.4 | ||
I22 | V925.5 | ||
I23 | V925.6 | ||
I24 | V925.7 | ||
AI | VM Address | AQ | VM Address |
AI1 | VW926 | AQ1 | VW944 |
AI2 | VW928 | AQ2 | VW946 |
AI3 | VW930 | ||
AI4 | VW932 | ||
AI5 | VW934 | ||
AI6 | VW936 | ||
AI7 | VW938 | ||
AI8 | VW940 | ||
AM | VM Address | M | VM Address |
AM1 | VW952 | M1 | V948.0 |
AM2 | VW954 | M2 | V948.1 |
AM3 | VW956 | M3 | V948.2 |
AM4 | VW958 | M4 | V948.3 |
AM5 | VW960 | M5 | V948.4 |
AM6 | VW962 | M6 | V948.5 |
AM7 | VW964 | M7 | V948.6 |
AM8 | VW966 | M8 | V948.7 |
AM9 | VW968 | M9 | V949.0 |
AM10 | VW970 | M10 | V949.1 |
AM11 | VW972 | M11 | V949.2 |
AM12 | VW974 | M12 | V949.3 |
AM13 | VW976 | M13 | V949.4 |
AM14 | VW978 | M14 | V949.5 |
AM15 | VW980 | M15 | V949.6 |
AM16 | VW982 | M16 | V949.7 |
M17 | V950.0 | ||
M18 | V950.1 | ||
M19 | V950.2 | ||
M20 | V950.3 | ||
M21 | V950.4 | ||
M22 | V950.5 | ||
M23 | V950.6 | ||
M24 | V950.7 | ||
M25 | V951.0 | ||
M26 | V951.1 | ||
M27 | V951.2 |
The LOGO! 0BA7 Base Module can share the following data by S7 communication interface:
Data Type | Number | Memory Type |
|---|---|---|
Digital input | 24 | Byte |
Digital output | 16 | Byte |
Digital flag | 27 | Byte |
Analog input | 8 | Word |
Analog output | 2 | Word |
Analog flag | 16 | Word |
Value parameter | ** | ** |
Actual value | ** | ** |
The length (Byte, Word, or DWord) indicates the number of bytes in the VM area required by the parameter.
Block parameters that you specify in the Variable Memory Configuration dialog are linked to a VM address.
Not all of the VM area is available for configuration. Some bytes of the VM area are reserved. You cannot specify more than 64 parameters. If you attempt to specify more than 64, LOGO!Soft Comfort displays a failed operation message.
Parameter settings
Function Block | Data type | Read/Write | Parameter settings in LOGO!Soft Comfort | Parameter settings on a partner device |
|---|---|---|---|---|
On-Delay | ||||
Current Time | VW | R | ||
On-Delay | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Remaining Time | VW | R | ||
On-Delay Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Off-Delay | ||||
Current Time | VW | R | ||
On-Delay | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Remaining Time | VW | R | ||
On-Delay Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
On-/Off-Delay | ||||
Current Time | VW | R | ||
On Time (TH) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Off Time (TL) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
On Time (TH) Remaining Time | VW | R | ||
Off Time (TL) Remaining Time | VW | R | ||
On Time (TH) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Off Time (TL) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Current Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Retentive On-Delay | ||||
Current Time | VW | R | ||
On-Delay | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Remaining Time | VW | R | ||
On-Delay Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Wiping Relay (Pulse Output) | ||||
Current Time | VW | R | ||
Off Time (TL) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Off Time (TL) Remaining Time | VW | R | ||
Off Time (TL) time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Edge Triggered Wiping Relay | ||||
Current Time | VW | R | ||
Pulse Width (TH) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Interpulse Width (TL) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Pulse Width (TH) Remaining Time | VW | R | ||
Interpulse Width (TL) Remaining Time | VW | R | ||
Pulse Width (TH) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Interpulse Width (TL) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Current Time Base | VB | R | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Asynchronous Pulse Generator | ||||
Current Time | VW | R | ||
Pulse Width | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Interpulse Width | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Pulse Remaining Time | VW | R | ||
Interpulse Remaining Time | VW | R | ||
Pulse Width (TH) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Interpulse Width (TL) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Current Time Base | VB | R | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Random Generator | ||||
Current Time | VW | R | ||
Max. On Delay (TH) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Max. Off Delay (TL) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Max. On Delay (TH) Remaining Time | VW | R | ||
Max. Off Delay (TL) Remaining Time | VW | R | ||
Max. On Delay (TH) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Max. Off Delay (TL) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Current Time Base | VB | R | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Stairway Lighting Switch | ||||
Current Time | VW | R | ||
Off Delay | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Pre-Warning Time (T!) | VW | R | ||
Pre-Warning Period (T!L) | VW | R | ||
Off Delay Remaining | VW | R | ||
Pre-Warning Time (T!) Remaining | VW | R | ||
Pre-Warning Period (T!L) Remaining | VW | R | ||
Off Delay Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Multiple Function Switch | ||||
Current Time | VW | R | ||
Off Delay Time (T) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Permanent Light (TL) | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Pre-Warning Time (T!) | VW | R | ||
Pre-Warning Period (T!L) | VW | R | ||
Off Delay Time (T) Remaining | VW | R | ||
Permanent Light (TL) Remaining | VW | R | ||
Pre-Warning Time (T!) Remaining | VW | R | ||
Pre-Warning Period (T!L) Remaining | VW | R | ||
Off Delay Time (T) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Permanent Light (TL) Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Current Time Base | VB | R | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Weekly Timer (When an entry box is set unavailable or a function is disabled, "0xFF" is displayed on an HMI or S7 PLC and "-" is displayed on a Base Module.) | ||||
Week Day 1 | VB | R/W | Sunday | Bit 0 |
Monday | Bit 1 | |||
Tuesday | Bit 2 | |||
Wednesday | Bit 3 | |||
Thursday | Bit 4 | |||
Friday | Bit 5 | |||
Saturday | Bit 6 | |||
NOTE: If the related bit is 1, then the day is set. | ||||
On Time 1 | VW | R/W | h:m | h:m |
Off Time 1 | VW | R/W | h:m | h:m |
Week Day 2 | VB | R/W | Sunday | Bit 0 |
Monday | Bit 1 | |||
Tuesday | Bit 2 | |||
Wednesday | Bit 3 | |||
Thursday | Bit 4 | |||
Friday | Bit 5 | |||
Saturday | Bit 6 | |||
NOTE: If the related bit is 1, then the day is set. | ||||
On Time 2 | VW | R/W | h:m | h:m |
Off Time 2 | VW | R/W | h:m | h:m |
Week Day 3 | VB | R/W | Sunday | Bit 0 |
Monday | Bit 1 | |||
Tuesday | Bit 2 | |||
Wednesday | Bit 3 | |||
Thursday | Bit 4 | |||
Friday | Bit 5 | |||
Saturday | Bit 6 | |||
NOTE: If the related bit is 1, then the day is set. | ||||
On Time 3 | VW | R/W | h:m | h:m |
Off Time 3 | VW | R/W | h:m | h:m |
Pulsely | VB | R/W | Off | 0 |
On | 1 | |||
Yearly Timer (When an entry box is set unavailable, "0xFF" is displayed on an HMI or S7 PLC and "-" is displayed on a Base Module.) | ||||
On Time | VW | R/W | Month:Day | Month:Day |
Off Time | VW | R/W | Month:Day | Month:Day |
On Year | VB | R/W | Year | Year |
Off Year | VB | R/W | Year | Year |
Monthly | VB | R/W | No | 0 |
Yes | 1 | |||
Yearly | VB | R/W | No | 0 |
Yes | 1 | |||
Pulsely | VB | R/W | Off | 0 |
On | 1 | |||
Astronomical Clock | ||||
Longitude | VD | R/W | VBx+0 | |
W | 1 | |||
E | 0 | |||
° | VBx+1 | |||
' | VBx+2 | |||
" | VBx+3 | |||
Latitude | VD | R/W | VBx+0 | |
S | 1 | |||
N | 0 | |||
° | VBx+1 | |||
' | VBx+2 | |||
" | VBx+3 | |||
Time Zero (E+; W-) | VW | R/W | -11 to 12 Low byte bit 7 means sign, for example: 00000001 10000000 means -1. | |
SunRise Time | VW | R | h:m | |
SunSet Time | VW | R | h:m | |
Stop Watch | ||||
Time Base | VB | R/W | 10 milliseconds | 0 |
Seconds | 1 | |||
Minutes | 2 | |||
Hours | 3 | |||
Current Time | VD | R | ||
Lap Time | VD | R | ||
Output Time | VW | R | ||
Up/Down Counter | ||||
Counter | VD | R/W | 0 to 999999 | |
On Threshold | VD | R/W | 0 to 999999 | |
Off Threshold | VD | R/W | 0 to 999999 | |
start value | VD | R/W | 0 to 999999 | |
Hours Counter | ||||
Maintenance Interval (MI) | VD | R/W | 0 to 599999 (9999H 59M) | |
Time-to-Go (MN) | VD | R | ||
Total Time (OT) | VD | R | ||
Threshold Trigger | ||||
Frequency | VW | R | ||
On Threshold | VW | R/W | 0 to 9999 | |
Off Threshold | VW | R/W | 0 to 9999 | |
Gate Time | VW | R | ||
Analog Threshold Trigger | ||||
On | VW | R/W | -20000 to 20000 | |
Off | VW | R/W | -20000 to 20000 | |
Gain | VW | R | ||
Offset | VW | R | ||
Ax, Amplified | VW | R | ||
Analog Differential Trigger | ||||
On | VW | R/W | -20000 to 20000 | |
Differential | VW | R/W | -20000 to 20000 | |
Gain | VW | R | ||
Offset | VW | R | ||
Ax, Amplified | VW | R | ||
Off | VW | R | ||
Analog Comparator | ||||
On | VW | R/W | -20000 to 20000 | |
Off | VW | R/W | -20000 to 20000 | |
Gain | VW | R | ||
Offset | VW | R | ||
Ax, Amplified | VW | R | ||
Ay, Amplified | VW | R | ||
Ax (Amplified)-Ay (Amplified) | VW | R | ||
Analog Watchdog | ||||
Gain | VW | R | ||
Offset | VW | R | ||
Aen (Comparison Value) | VW | R | ||
Ax, Amplified | VW | R | ||
Differential (+) | VW | R/W | 0 to 20000 | |
Differential (-) | VW | R/W | 0 to 20000 | |
Analog Amplifier | ||||
Analog Amplifier: Gain | VW | R/W | -1000 to 1000 | |
Analog Amplifier: Offset | VW | R/W | -10000 to 10000 | |
Analog Amplifier: Ax, Amplified | VW | R | ||
Analog Multiplexer | ||||
AQ Amplified | VW | R | ||
V1 (S1=0; S2=0) | VW | R/W | -32768 to 32767 | |
V2 (S1=0; S2=1) | VW | R/W | -32768 to 32767 | |
V3 (S1=1; S2=0) | VW | R/W | -32768 to 32767 | |
V4 (S1=1; S2=1) | VW | R/W | -32768 to 32767 | |
PWM | ||||
Min. | VW | R/W | -10000 to 20000 | |
Max. | VW | R/W | -10000 to 20000 | |
Gain | VW | R/W | -1000 to 1000 | |
Offset | VW | R/W | -10000 to 10000 | |
Ax, Amplified (Current Period) | VW | R | ||
T | VW | R/W | Unit: Seconds | Value range: 0 to 9999 |
Unit: Minutes or Hours | Value range: 0 to 5999 | |||
Periodic Time Time Base | VB | R/W | 10 milliseconds | 1 |
Seconds | 2 | |||
Minutes | 3 | |||
Mathematic Instructions | ||||
AQ Amplified | VW | R | ||
V1 | VW | R/W | -32768 to 32767 | |
V2 | VW | R/W | -32768 to 32767 | |
V3 | VW | R/W | -32768 to 32767 | |
V4 | VW | R/W | -32768 to 32767 | |
Operator 1 | VB | R/W | VBx+0 | |
+ | 0 | |||
- | 1 | |||
* | 2 | |||
/ | 3 | |||
Operator 2 | VB | R/W | VBx+0 | |
+ | 0 | |||
+ | 1 | |||
* | 2 | |||
/ | 3 | |||
Operator 3 | VB | R/W | VBx+0 | |
+ | 0 | |||
- | 1 | |||
* | 2 | |||
/ | 3 | |||
Priority1 | VB | R/W | L | 0 |
M | 1 | |||
H | 2 | |||
Priority2 | VB | R/W | L | 0 |
M | 1 | |||
H | 2 | |||
Priority3 | VB | R/W | L | 0 |
M | 1 | |||
H | 2 | |||
Reset Mode | VB | R/W | Reset to zero | 0 |
Keep last value | 1 | |||
Analog Ramp | ||||
Gain | VW | R | ||
Offset | VW | R | ||
Current Level | VW | R | ||
Level 1 (L1) | VW | R/W | -10000 to 20000 | |
Level 2 (L2) | VW | R/W | -10000 to 20000 | |
Largest Output Value | VW | R | ||
Start/Stop Offset | VW | R/W | 0 to 20000 | |
Speed of Change | VW | R/W | 1 to 10000 | |
PI Controller | ||||
Set Value (SP) | VW | R/W | -10000 to 20000 | |
PV, Amplified | VW | R | ||
Aq | VW | R | ||
Kc | VW | R/W | 0 to 9999 | |
Integeration Time (TI) | VW | R/W | Unit: Minutes | 0 to 5999 |
Direction | VB | R/W | + | 0 |
- | 1 | |||
Manual Output (Mq) | VW | R/W | 0 to 1000 | |
min | VW | R/W | -10000 to 20000 | |
max | VW | R/W | -10000 to 20000 | |
Gain | VW | R | -1000 to 1000 | |
Offset | VW | R | -10000 to 10000 | |
Analog Filter | ||||
Dialog Parameter Averge Value Sample Number | VB | R/W | 3 to 8 | |
8 | 3 | |||
16 | 4 | |||
32 | 5 | |||
64 | 6 | |||
128 | 7 | |||
256 | 8 | |||
Ax | VW | R | ||
Aq | VW | R | ||
Max/Min | ||||
Mode | VB | R/W | 0, 1, 2 and other value | |
Ax | VW | R | ||
Minimum Value | VW | R | ||
Maximum Value | VW | R | ||
Aq | VW | R | ||
When reset=0, reset Min/Max | VB | R/W | 0 or 1 | |
Average Value | ||||
Sample Time | VW | R/W | Unit: Seconds or Minutes | Value range: 0 to 59 |
Unit: Hours | Value range: 0 to 23 | |||
Unit: Days | Value range: 0 to 365 | |||
Number of Samples | VW | R/W | Unit: Seconds | Value range: 1 to St*100 |
Unit: Days | Value range: 1 to 32767 | |||
Unit: Hours | Value range: 1 to 32767 | |||
Unit: Seconds and ≤ 5 Minutes | Value range: 1 to St*6000 | |||
Unit: Seconds and ≥ 6 Minutes | Value range: 1 to 32767 | |||
Ax | VW | R | ||
Aq | VW | R | ||
Sample Time Time Base | VB | R/W | Seconds | 1 |
Minutes | 2 | |||
Hours | 3 | |||
Days | 4 | |||